<?php
declare (strict_types=1);

namespace app\api\model;

use think\Model;

/**
 * @mixin \think\Model
 */
class Type extends Model
{
    public $table = 'pyg_type';
    protected $pk = 'id';

    /**
     * 查询商品类型
     * @return bool|\PDOStatement|string|\think\Collection
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public static function getType()
    {
        return self::field('id,type_name')->select();
    }

    /**
     * 商品类型与商品属性关联   一个商品类型有多个属性   一对多
     * @return \think\model\relation\HasMany
     */
    public function attrs()
    {
        return $this->hasMany(Attribute::class, 'type_id');
    }

    /**
     * 商品类型和商品规格关联   一个商品类型拥有多个规格   一对多
     * @return \think\model\relation\HasMany
     */
    public function spec()
    {
        return $this->hasMany(Spec::class, 'type_id');
    }

    public static function getTypeName($id)
    {
        return self::with(['attrs', 'spec', 'spec.specValue'])->find($id);
    }

    public static function delType($id)
    {
        return self::destroy($id);
    }


}
